home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / misc / gfront11.lha / GUIFront / Demos / Source / Back.c < prev    next >
C/C++ Source or Header  |  1994-11-01  |  4KB  |  111 lines

  1.  
  2. /* Back.c - backfill example
  3.  *
  4.  * This is a GUIFront example GUI. To build an example, compile and link this
  5.  * file with Generic.o (also supplied).
  6.  * Everything prefixed with DEMO_ is exported to Generic.o.
  7.  */
  8.  
  9. #include <libraries/guifront.h>
  10.  
  11. /* First, some Gadget ID's */
  12.  
  13. enum
  14. {
  15.     GID_CHECKBOX1,
  16.     GID_CHECKBOX2,
  17.     GID_CHECKBOX3,
  18.     GID_STRING1,
  19.     GID_STRING2,
  20.     GID_STRING3,
  21.     GID_BUTTON1,
  22.     GID_BUTTON2,
  23. };
  24.  
  25. /* Now, the GadgetSpec's we'll be needing for this GUI */
  26.  
  27. static GadgetSpec gadgetspecs[] =
  28. {
  29.     {CHECKBOX_KIND, 0,0, {0,0,0,0, "_GUIFront", NULL, GID_CHECKBOX1, PLACETEXT_LEFT}, NULL, GS_DefaultTags},
  30.     {CHECKBOX_KIND, 0,0, {0,0,0,0, "_Is",       NULL, GID_CHECKBOX2, PLACETEXT_LEFT}, NULL, GS_DefaultTags},
  31.     {CHECKBOX_KIND, 0,0, {0,0,0,0, "_Easy",     NULL, GID_CHECKBOX3, PLACETEXT_LEFT}, NULL, GS_DefaultTags},
  32.     {STRING_KIND,   20,0,{0,0,0,0, "E_nter",    NULL, GID_STRING1, PLACETEXT_LEFT}, NULL, GS_DefaultTags},
  33.     {STRING_KIND,   20,0,{0,0,0,0, "_Something",NULL, GID_STRING2, PLACETEXT_LEFT}, NULL, GS_DefaultTags},
  34.     {STRING_KIND,   20,0,{0,0,0,0, "_Here",     NULL, GID_STRING3, PLACETEXT_LEFT}, NULL, GS_DefaultTags},
  35.     {BUTTON_KIND, 0,0, {0,0,0,0, "_Okay",   NULL, GID_BUTTON1, PLACETEXT_IN}, NULL, GS_DefaultTags | GS_BoldLabel},
  36.     {BUTTON_KIND, 0,0, {0,0,0,0, "_Cancel", NULL, GID_BUTTON2, PLACETEXT_IN}, NULL, GS_DefaultTags},
  37. };
  38.  
  39. /* Now, we group all of these GadgetSpecs into an array of pointers, so the
  40.  * layout engine can locate gadgets merely by their Gadget IDs.
  41.  */
  42.  
  43. GadgetSpec *DEMO_GadgetSpecList[] =
  44. {
  45.     &gadgetspecs[0], &gadgetspecs[1], &gadgetspecs[2], &gadgetspecs[3],
  46.     &gadgetspecs[4], &gadgetspecs[5], &gadgetspecs[6], &gadgetspecs[7],
  47.     NULL,
  48. };
  49.  
  50. /* Finally, the layout tag list itself. This is where most of the work is
  51.  * done. This list completely describes how the above gadgets are arranged
  52.  * in groups in the GUI.
  53.  */
  54.  
  55. ULONG DEMO_LayoutList[] =
  56. {
  57.     GUIL_Flags, GUILF_PropShare | GUILF_EqualWidth,
  58.  
  59.     GUIL_HorizGroup, 1,
  60.         GUIL_Flags, GUILF_PropShare | GUILF_EqualHeight,
  61.  
  62.         GUIL_FrameType, GUILFT_Recess,
  63.  
  64.         GUIL_VertGroup, 1,
  65.             GUIL_Flags, GUILF_PropShare | GUILF_EqualWidth | GUILF_LabelAlign,
  66.             GUIL_GadgetSpecID, GID_CHECKBOX1,
  67.             GUIL_GadgetSpecID, GID_CHECKBOX2,
  68.             GUIL_GadgetSpecID, GID_CHECKBOX3,
  69.         TAG_DONE,
  70.  
  71.         GUIL_VertGroup, 1,
  72.             GUIL_Flags, GUILF_PropShare | GUILF_EqualWidth | GUILF_LabelAlign,
  73.             GUIL_GadgetSpecID, GID_STRING1,
  74.             GUIL_GadgetSpecID, GID_STRING2,
  75.             GUIL_GadgetSpecID, GID_STRING3,
  76.         TAG_DONE,
  77.     TAG_DONE,
  78.  
  79.     GUIL_HorizGroup, 1,
  80.         GUIL_Flags, GUILF_EqualSize | GUILF_EqualHeight,
  81.         GUIL_GadgetSpecID, GID_BUTTON1,
  82.         GUIL_GadgetSpecID, GID_BUTTON2,
  83.     TAG_DONE,
  84.  
  85.     TAG_DONE,
  86. };
  87.  
  88. /* Obligatory version tag */
  89.  
  90. static const char ver[] = "$VER: Back 1.0 " __AMIGADATE__;
  91.  
  92. /* Now, some globals used by Generic.o during the call to GF_CreateGUIA() */
  93.  
  94. /* The initial orientation of the GUI. In this case, it's vertical. This means
  95.  * the three button gadgets, which we just grouped together, will be placed
  96.  * in a vertical group. Alternatively, we could have used GUIL_HorizGroup
  97.  * to make the initial orientation horizontal (surprise :-)
  98.  */
  99.  
  100. int DEMO_InitialOrientation = GUIL_VertGroup;
  101.  
  102. STRPTR DEMO_WindowTitle = "Backfilled GUI";
  103. STRPTR DEMO_AppID       = "Backfilled";
  104.  
  105. STRPTR DEMO_Version     = "1.0",
  106.        DEMO_LongDesc    = "Demo program - Backfilled GUI",
  107.        DEMO_Author      = "Michael Berg",
  108.        DEMO_Date        = __AMIGADATE__;
  109.  
  110. BOOL   DEMO_Backfill    = TRUE;
  111.